package org.corf.endpoint;

public enum JmsMessageHeaderKey {

    JMS_CORRELATION_ID(java.lang.String.class, "JMSCorrelationID", "jms-correlation-id"),
    JMS_CORRELATION_ID_AS_BYTES(java.lang.Byte[].class, "JMSCorrelationIDAsBytes", "jms-correlation-id-as-bytes"),
    JMS_DELIVERY_MODE(java.lang.Integer.class, "JMSDeliveryMode", "jms-delivery-mode"),
    JMS_DESTINATION(javax.jms.Destination.class, "JMSDestionation", "jms-destination"),
    JMS_EXPIRATION(java.lang.Long.class, "JMSExpiration", "jms-expiration"),
    JMS_PRIORITY(java.lang.Integer.class, "JMSPriority", "jms-priority"),
    JMS_REDELIVERED(java.lang.Boolean.class, "JMSRedelivered", "jms-redelivered"),
    JMS_REPLY_TO(javax.jms.Destination.class, "JMSReplyTo", "jms-reply-to"),
    JMS_TIMESTAMP(java.lang.Long.class, "JMSTimestamp", "jms-timestamp"),
    JMS_TYPE(java.lang.String.class, "JMSType", "jms-type"), ;

    private final Class type;
    private final String attributeName;
    private final String payloadHeaderKeyName;

    private JmsMessageHeaderKey(Class type, String attributeName, String payloadHeaderKeyName) {
        this.type = type;
        this.attributeName = attributeName;
        this.payloadHeaderKeyName = payloadHeaderKeyName;
    }

}
